home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / mac / CodeWarrior 7 Lite for 68K / MacOS Support / Headers / Universal Headers / CMAcceleration.h < prev    next >
Text File  |  1995-07-06  |  5KB  |  136 lines

  1. /*
  2.      File:        CMAcceleration.h
  3.  
  4.      Contains:    ColorSync 2.0 Acceleration Component Interfaces
  5.  
  6.      Version:    Technology:    ColorSync 2.0
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __CMACCELERATION__
  21. #define __CMACCELERATION__
  22.  
  23.  
  24. #ifndef __MEMORY__
  25. #include <Memory.h>
  26. #endif
  27. /*    #include <Types.h>                                            */
  28. /*        #include <ConditionalMacros.h>                            */
  29. /*    #include <MixedMode.h>                                        */
  30.  
  31. #ifndef __COMPONENTS__
  32. #include <Components.h>
  33. #endif
  34.  
  35. #ifndef __CMAPPLICATION__
  36. #include <CMApplication.h>
  37. #endif
  38. /*    #include <Quickdraw.h>                                        */
  39. /*        #include <QuickdrawText.h>                                */
  40. /*    #include <Files.h>                                            */
  41. /*        #include <OSUtils.h>                                    */
  42. /*        #include <Finder.h>                                        */
  43. /*    #include <Printing.h>                                        */
  44. /*        #include <Errors.h>                                        */
  45. /*        #include <Dialogs.h>                                    */
  46. /*            #include <Menus.h>                                    */
  47. /*            #include <Controls.h>                                */
  48. /*            #include <Windows.h>                                */
  49. /*                #include <Events.h>                                */
  50. /*            #include <TextEdit.h>                                */
  51. /*    #include <CMICCProfile.h>                                    */
  52.  
  53. #ifdef __cplusplus
  54. extern "C" {
  55. #endif
  56.  
  57. #if PRAGMA_ALIGN_SUPPORTED
  58. #pragma options align=mac68k
  59. #endif
  60.  
  61. #if PRAGMA_IMPORT_SUPPORTED
  62. #pragma import on
  63. #endif
  64.  
  65.  
  66. enum {
  67.     cmAccelerationInterfaceVersion = 1
  68. };
  69.  
  70. /*–––––––––––––––––––––––––––––––––––––– Component Type*/
  71. enum {
  72.     cmAccelerationComponentType    = 'csac'
  73. };
  74.  
  75. /*–––––––––––––––––––––––––––––––––––––– Required Component function selectors*/
  76. enum {
  77.     cmLoadTables                = 0,
  78.     cmCalculateData                = 1
  79. };
  80.  
  81. /*–––––––––––––––––––––––––––––––––––––– table data for acceleration component*/
  82. struct CMAccelerationTableData {
  83.     long                            inputLutEntryCount;            /* count of entries for input lut for one dimension*/
  84.     long                            inputLutWordSize;            /* count of bits of each entry ( e.g. 16 for WORD )*/
  85.     Handle                            inputLut;                    /* handle to input lut*/
  86.     long                            outputLutEntryCount;        /* count of entries for output lut for one dimension    */
  87.     long                            outputLutWordSize;            /* count of bits of each entry ( e.g. 8 for BYTE )*/
  88.     Handle                            outputLut;                    /* handle to output lut*/
  89.     long                            colorLutInDim;                /* input dimension  ( e.g. 3 for LAB ; 4 for CMYK )*/
  90.     long                            colorLutOutDim;                /* output dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
  91.     long                            colorLutGridPoints;            /* count of gridpoints for color lut ( for one Dimension )    */
  92.     long                            colorLutWordSize;            /* count of bits of each entry ( e.g. 8 for BYTE )*/
  93.     Handle                            colorLut;                    /* handle to color lut*/
  94.     CMBitmapColorSpace                inputColorSpace;            /* packing info for input*/
  95.     CMBitmapColorSpace                outputColorSpace;            /* packing info for output*/
  96.     void                            *userData;
  97.     unsigned long                    reserved1;
  98.     unsigned long                    reserved2;
  99.     unsigned long                    reserved3;
  100.     unsigned long                    reserved4;
  101.     unsigned long                    reserved5;
  102. };
  103. typedef struct CMAccelerationTableData CMAccelerationTableData, *CMAccelerationTableDataPtr, **CMAccelerationTableDataHdl;
  104.  
  105. /*–––––––––––––––––––––––––––––––––––––– calc data for acceleration component*/
  106. struct CMAccelerationCalcData {
  107.     long                            pixelCount;                    /* count of input pixels*/
  108.     Ptr                                inputData;                    /* input array*/
  109.     Ptr                                outputData;                    /* output array*/
  110.     unsigned long                    reserved1;
  111.     unsigned long                    reserved2;
  112. };
  113. typedef struct CMAccelerationCalcData CMAccelerationCalcData, *CMAccelerationCalcDataPtr, **CMAccelerationCalcDataHdl;
  114.  
  115. /*————————————————————————————————————————————————————————————————————————————————————————————————*/
  116. /*                A c c e l e r a t i o n   C o m p o n e n t   I n t e r f a c e s*/
  117. /*————————————————————————————————————————————————————————————————————————————————————————————————*/
  118. extern pascal CMError CMAccelerationLoadTables(ComponentInstance CMSession, CMAccelerationTableDataPtr tableData)
  119.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
  120. extern pascal CMError CMAccelerationCalculateData(ComponentInstance CMSession, CMAccelerationCalcDataPtr calcData)
  121.  FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  122.  
  123. #if PRAGMA_IMPORT_SUPPORTED
  124. #pragma import off
  125. #endif
  126.  
  127. #if PRAGMA_ALIGN_SUPPORTED
  128. #pragma options align=reset
  129. #endif
  130.  
  131. #ifdef __cplusplus
  132. }
  133. #endif
  134.  
  135. #endif /* __CMACCELERATION__ */
  136.